package cn.zlb.frame.domain.pay.model.entity;

import cn.zlb.frame.common.vo.BaseVO;
import cn.zlb.frame.domain.pay.model.valueobj.AliPayValueObj;
import cn.zlb.frame.domain.pay.model.valueobj.PayStatusValueObj;
import cn.zlb.frame.domain.pay.model.valueobj.PayTypeValueObj;
import cn.zlb.frame.domain.pay.model.valueobj.WechatPayValueObj;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * @author yangjie.deng@resico.cn
 * @date 2023-11-09 13:33:29
 * @describe class responsibility
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class PaymentEntity extends BaseVO {
    /**
     *  用户编号
     */
    private String userNo;

    /**
     *  内部系统支付流水号
     */
    private String paymentNo;

    /**
     *  订单编号
     */
    private String orderNo;

    /**
     *  三方支付流水号
     */
    private String thirdPaymentNo;

    /**
     *  支付状态
     */
    private PayStatusValueObj payStatus;

    /**
     *   第三方响应状态码
     */
    private Integer thirdRetCode;

    /**
     *   第三方响应描述
     */
    private String thirdRetMsg;

    /**
     *  支付金额
     */
    private BigDecimal payAmt;

    /**
     *  支付详情
     */
    private PayTypeValueObj payType;

    /**
     *  产品编号
     */
    private String productNo;

    /**
     *  产品名称
     */
    private String productName;

    /**
     *  微信支付
     */
    private WechatPayValueObj wechatPay;

    /**
     *  支付宝支付
     */
    private AliPayValueObj aliPay;
}
